package com.AdvancedDemos.集合;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class 集合的嵌套 {
    public static void main(String[] args) {
        /*
        要求:
        要求在程序中记住如下省份和其对应的城市信息,记录成功后,要求可以查询出湖北省的城市信息
        江苏省 = 南京市,扬州市,苏州市,无锡市,常州市
        湖北省 = 武汉市,孝感市,十堰市,宜昌市,鄂州市
        河北僧 = 石家庄市,唐山市,邢台市,保定市,张家口市
        分析:定义一个Map集合,用键表示省份名称,值表示城市名称,注意:城市会有多个
        根据"湖北省"这个键获取对应的值展示即可
         */
        Map<String, List<String>> map = new HashMap<>();
        List<String> citys = new ArrayList<>(List.of("南京市", "扬州市", "苏州市", "无锡市", "常州市"));
        map.put("江苏省", citys);
        List<String> citys2 = new ArrayList<>(List.of("武汉市", "孝感市", "十堰市", "宜昌市", "鄂州市"));
        map.put("湖北省", citys2);
        map.put("河北省", new ArrayList<>(List.of("石家庄市", "唐山市", "邢台市", "保定市", "张家口市")));
        System.out.println(map);//{江苏省=[南京市, 扬州市, 苏州市, 无锡市, 常州市], 湖北省=[武汉市, 孝感市, 十堰市, 宜昌市, 鄂州市], 河北省=[石家庄市, 唐山市, 邢台市, 保定市, 张家口市]}
        List<String> huBei = map.get("湖北省");
        for (String city : huBei) {
            System.out.println(city);
            //武汉市
            //孝感市
            //十堰市
            //宜昌市
            //鄂州市
        }

        map.forEach((key, value) -> {
            System.out.println(key + ":" + value);
            //江苏省:[南京市, 扬州市, 苏州市, 无锡市, 常州市]
            //湖北省:[武汉市, 孝感市, 十堰市, 宜昌市, 鄂州市]
            //河北省:[石家庄市, 唐山市, 邢台市, 保定市, 张家口市]
        });

    }
}
